<template>
  <div class="search_history">
    <van-cell title="搜索历史">
      <div v-if="isDeleteShow">
        <span @click="$emit('deleteAllHistories')">全部删除</span>
        &nbsp;&nbsp;&nbsp;&nbsp;
        <span @click="isDeleteShow = false">完成</span>
      </div>
      <van-icon name="delete" v-else @click="isDeleteShow = true"></van-icon>
    </van-cell>
    <van-cell
      :title="item"
      v-for="(item, index) in searchHistories"
      :key="index"
      @click="onClickHistories(item, index)"
    >
      <van-icon name="close" v-show="isDeleteShow"></van-icon>
    </van-cell>
  </div>
</template>

<script>
export default {
  name: 'SearchHistory',
  props: {
    //   prop数据
    // prop数据是受父组件影响的，如果是普通数据（数值，字符串，布尔值）绝对不能修改，即使改了也不会传给父组件
    // 如果是引用数据类型，（数组，对象）可以进行修改，如[].push（xxx） 对象.xxx = xxx   不可以重新赋值 xxx = []
    searchHistories: {
      type: Array,
      required: true,
    },
  },
  data() {
    return {
      // 控制删除按钮的显示和隐藏
      isDeleteShow: false,
    };
  },
  methods: {
    onClickHistories(item, index) {
      //   如果是删除状态则执行删除操作
      if (this.isDeleteShow) {
        this.searchHistories.splice(index, 1);
      } else {
        //   不是删除的状态，直接点击搜索
        this.$emit('searchHistories', item);
      }
    },
  },
};
</script>

<style lang="less" scoped></style>
